Real-time tasks are high priority tasks that are to be executed in real-time without delay by a processor of a computing device. For example, it may be essential for a computing device that is communicating with a network to perform the task of parsing out data from a communication signal without delay to avoid losing data. Real-time tasks may be performed by high priority threads that are executed by the processor. However, the continuous execution of real-time tasks using high priority threads on a processor may block other system threads that are performing non real-time tasks from being executed by the processor. The blocking of such system threads from execution may cause deadlocked applications, disabled application features, and/or general unresponsiveness in the operations of applications on the computing device.
The blocking of system threads that are executing non real-time tasks may also occur on a computing device with a multi-core processor. For example, many system applications that are running on a computing device may have been programmed to run threads on specific cores. Thus, when these specific cores are blocked by high priority threads that are running real-time tasks, slowdowns of the applications on the computing device may still occur.